#!/bin/bash
#redis自动化安装脚本
#安装路径
path='/usr/local/redis'

echo "----- redis自动化安装脚本开始执行 -----"
#解压缩
echo "----- 解压缩redis -----"
tar -xzvf ../rpm/redis-3.2.12.tar.gz -C ../temp
#进入解压后的目录
echo "----- 进入解压后的目录 -----"
cd ../temp/redis-3.2.12
#编译
echo "----- 编译 -----"
make
#安装
echo "----- 安装 -----"
cd src
make install PREFIX=${path}
#进入安装目录下的bin目录
echo "----- 进入安装目录下的bin目录 -----"
cp -f ../redis.conf ${path}/bin/
cp -f ../../../conf/redis.service /lib/systemd/system/
cd ${path}/bin
#设置允许远程访问
echo "----- 设置允许远程访问 -----"
sed -i 's|bind 127.0.0.1|bind 0.0.0.0|' redis.conf
#redis服务后台启动
echo "----- redis服务后台启动 -----"
sed -i 's|daemonize no|daemonize yes|' redis.conf
#配置开机自启动
echo "----- 配置开机自启动 -----"
cd /lib/systemd/system
systemctl enable redis.service
#启动redis
echo "----- 启动redis -----"
systemctl start redis.service
#开放6379端口访问权限
echo "----- 开放6379端口访问权限 -----"
systemctl start firewalld
if [ $? -eq 0 ];then
   echo "----- 成功开启防火墙 -----"
else
   echo "----- 防火墙开启失败，脚本退出 -----"
   exit 1
fi

firewall-cmd --zone=public --add-port=6379/tcp --permanent
if [ $? -eq 0 ];then
   firewall-cmd --reload
   echo "----- 6379端口开启成功 -----"
else
   echo "----- 6379端口开启失败，脚本退出 -----"
   exit 1
fi

echo "----- redis自动化安装脚本执行完毕 -----"
